package com.leetcode;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.IntConsumer;

/**
 * 随机数索引
 *
 * @author yml
 * 给定一个可能含有重复元素的整数数组，要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。
 * <p>
 * 注意：
 * 数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。
 */
public class LeetCode398 {

    public static void main(String[] arg0) {
        System.out.println("结果 = " + pick(-760627172));
//		System.out.println("结果 = " + pick(3));
    }

    public static int pick(int target) {
        int[] test1 = new int[]{1, 3, 2, 3, 4, 3};
        int[] test = new int[]{-1002464978, -68020051, -1462267596,
                1317081354, -888922907, 709696102, 1566377039, -1568877186,
                1975821187, -242325840, 317741131, 1029545763, 1955280671,
                1893328244, 2093616131, -482518759, -714187586, 275678785,
                -2087905559, -1133540364, -2025446997, -516336286, -1251713464,
                -672993494, 397763492, -1151463861, -423085760, 2060203531,
                -1216235733, 1432526354, -167581936, 1605950372, 834406161,
                1968791536, -45297112, 738141992, -1228566543, -364754177,
                -360751980, -983948383, 412673963, 725918816, -310613135,
                370644200, 642313055, -1970525419, -1697058904, 1016585295,
                -1450613598, -1841144696, 821057663, -970457088, -501524242,
                -309374753, -1200613413, 615121420, -1918986005, 1848134926,
                -1349226362, -1372431586, 1674029384, 131178055, 1292801910,
                227047929, -801771049, 775453731, -1626213089, 186338334,
                -1192847875, -730944471, -913618417, 1638202134, -1273573202,
                -941015785, 1115202197, 741802099, 958112505, -1202787942,
                -232190071, 1645261758, -1507846737, -816141589, -206408385,
                427626634, -848661292, -2124980648, -1606808617, -583788369,
                324063966, -672941063, 1191535100, -466791352, 2126072215,
                -1642193008, -921853792, -825942334, 2146452158, -1337978577,
                1798001512, -153011858, 1897794843, -773236891, 1275898877,
                1247081290, -1287025276, 1740159875, -780642733, 315650296,
                2014442314, -701663671, -169263053, -1025348238, -1441015859,
                814396953, 1494365140, 1983574551, 1723893704, 238003093,
                2042400556, 898482288, 218387801, -669791742, -108941855,
                126166200, -42426066, -629573754, 1120731202, 1136406888,
                1236013361, -1583727760, 1669956609, 156689481, 651930527,
                1789007232, -2136639904, 47367889, -623984757, 2078025957,
                -972930537, -812733600, 1267223961, 1012441021, 1860222598,
                1918769592, 1001674578, 649031280, -844760230, -381588608,
                445895811, 1538935169, 201421488, 98353522, 359267686,
                -622969692, 2069321254, -1006289347, 16908663, -58139448,
                -248086586, -1657828891, -2129453660, -2137316550, 1628266939,
                1952996536, 217835664, -405302488, 454912692, -199667165,
                383741368, -1136950343, -1039117932, -214792229, -1469925981,
                -549335831, 1892160569, -172396004, -1008677120, 2122731118,
                450086180, 1668620439, -1094622256, 1280815874, 1505595611,
                -538499832, 2073589735, 420084889, -1548151169, 350419124,
                1629459109, 434372363, 1404547248, 551467154, 990032929,
                -2089833537, 1690969652, -1418881291, -1092075604, -480157741,
                1068550033, 1008024585, -1752962988, -2108470178, 140650956,
                -423639279, -1438317909, 1276491241, 1323152895, -1454337382,
                -1096695545, 1157398395, 157552126, -377949934, 1593598944,
                -2145180348, 202753860, 2131354894, -1438596138, -856202755,
                80157004, 257069176, -1575688476, -221269680, -218986452,
                778525081, 1784062091, -1577206828, 582538032, -1670368772,
                -1343277195, 318539566, -299272772, 1843441301, 710440830,
                1480120183, 1130264052, -1406649724, -1052830787, 618841210,
                -336266537, -1410693566, 47207631, 475670355, 394310001,
                -1841085640, 376708861, 1970266463, -414749596, -1137446894,
                -1676107967, -1160650981, 930650487, 1859707965, -1847746147,
                2102568272, 934933512, 383815885, 1346135106, -308538792,
                572067582, 1380313926, 134477858, -626960019, -1630962167,
                577933277, 277688273, 424567439, 609942213, -2063490530,
                -1486019045, 903956962, -1244093252, 1686412712, -137654151,
                -1600332474, -2038916343, -2010772753, 430775956, -984300147,
                -1000929663, 2135872606, -1862904269, -1788636261, 2081431165,
                464282769, -526558401, -960242362, 1421862321, 1411838251,
                -208555140, 1921459902, -789492882, -1738879976, 1830482313,
                1185845774, -112034308, 1881487766, 506918481, 505727142,
                1689142373, 30917487, -173751578, 988682490, -1780071192,
                1127750249, 672577328, 2102253350, 1368591180, 293905606,
                1050293588, 237148718, 2109783721, 1568110388, -651278357,
                1744148974, 688767855, -1154485902, -1914746898, 1125063024,
                578158092, 2024545584, 2089485037, 1192648779, -2006987159,
                -1723359015, 1571339071, 1107216828, 2069389428, 609127404,
                1178934316, 1822728418, -1844814653, -1234698995, 797966206,
                595061268, 2056997982, -48242940, 11858302, -709140981,
                -1363213365, -1558576467, 356401791, 1655654124, 1080604586,
                -715236534, 301847926, -966906577, -1696578397, 1053589760,
                -1084181603, 31689097, -50275713, -519349225, -1725830112,
                -153254264, -681951655, -1668236844, 914219754, 890635982,
                -626486948, -1667720114, -2098755479, -1922444848, 1783539762,
                -10705005, -2060107328, -1993995948, 81587335, 1800453455,
                -360511803, -160923034, 498879775, 4886777, 1559302415,
                -1202625748, -214072741, -1190683731, 1115112066, 1606639212,
                977216412, -1540495675, 2105384189, 2615284, 544566631,
                -1015179255, 847361072, -1891235609, 1220573546, 1362220041,
                12322986, -512114752, 1449360181, -7621766, 390230060,
                -1185814858, -870715852, -1093854060, -1367603373, -1048518050,
                -1772092555, -1834439022, 655045940, 705202408, -1323815192,
                1580171286, 82443597, -1231731605, 1507496619, -1814124933,
                189924291, 290226368, 758491460, 798654919, -572579138,
                1495330206, -1919318501, 1540929713, 1585760120, 1928816928,
                2018820912, 1984783274, 1375153475, -817418630, 459219051,
                2132984914, 436412511, 2146623247, -1890538288, 2130106798,
                859581592, -1870196515, -437441893, -758761449, -170596680,
                -1695724361, -555951206, 161807899, 622887228, 472237040,
                1135608613, -1810907289, -1460637244, 457817003, 403040541,
                -564651659, -786557734, -1856799825, -1799000789, -1023162907,
                -494052038, -360215200, 1787339205, -1415621345, -706633775,
                -15089422, -1215716556, -878896650, 1114945010, 1255730874,
                316228175, -120606690, -1066255957, -284829460, -1585795586,
                543112313, -1029076590, -1310667890, -664082113, -1836764944,
                -665961663, -1060888412, 1634738858, -250275021, -219930922,
                721137884, 1196661510, -1321470932, 42247351, 1823602602,
                -1166469072, -1156251943, -591969309, 2100982879, -381126446,
                -792825325, 1034886889, 2048060255, 297628049, 264271258,
                -782154492, 1387746094, 1966586113, -1035714941, 2086451450,
                1772901345, 1373000733, 636037314, -523943241, -974011674,
                1655105438, -1590459934, -1152537231, -795915828, 903704262,
                -1385406790, -275673026, -975431235, 1799877591, 1027309270,
                360145482, -1832825876, -1730206840, -82795215, 1023017222,
                -1639134082, -2066179277, 1419777230, -835105980, 761552648,
                -1398928275, 1932588431, -43429440, 234094875, 991084144,
                -141720223, 2107163638, -121238255, 195899277, -1260682671,
                761963677, 1251334793, 1483171819, 190663431, -61821726,
                -533318814, -988511235, -1413576321, -753048440, 432548979,
                -1244068191, -205992483, 554849452, 163533675, -1483690610,
                -185163794, 1976849401, -61379039, 492280302, -568895520,
                985549607, 2113377564, 689547281, 1541195551, -1528148441,
                1848303158, 1117601164, 1675622859, -527740333, 2126096483,
                1725391129, 1163968901, -1141614851, 1888894718, 1855340346,
                743940416, -1193272777, -279905493, 1736941744, 938953000,
                1953967036, -120611110, 303168995, 449198584, 177232247,
                1717409390, 382249489, -795779123, -1404390711, 559201997,
                209587426, 348803901, -1932870294, 468156844, 1031881490,
                -957003849, -213777845, 429094465, -1349659495, -1513367588,
                1218238529, 1792974872, -1188474630, 1044419905, 1587707320,
                -1885356112, -1345874035, -353514582, 1046399757, -126431238,
                409198272, 42292794, -2103982887, 1879938170, 2019036467,
                -2014606175, 142222964, 71669344, -1819112924, 1813240902,
                1241292538, -2117301956, 1796641834, -821084057, -241687606,
                -736808073, -1759678446, -641098721, 856501365, 1198256130,
                -1836157173, -1659282979, -467261937, 551505039, -761048431,
                217536258, 1085735074, 1489077077, -42304030, -1804730219,
                -999670178, 1135890486, 1892252927, 1038159187, -1757018002,
                -338232834, 486276566, 1677197699, 2000236291, -91305854,
                -738827758, -960414801, 1685129336, -118242281, -635261775,
                1760169041, -44989576, 768219752, 596251023, -39337841,
                1733133647, 1751704006, -808124881, -465181152, 1501475557,
                -171981997, -336306421, -1570204545, -834124532, -761719793,
                2143521482, 902755594, -1304191184, 181331942, 98205229,
                -1035024607, -1671951118, 1746688355, -1276771578, 1250654054,
                724496727, -1584333002, -45883165, 118356714, 950705170,
                117134473, 898593691, 971684066, -40156282, -386559138,
                1575628287, -1915276036, 1825143172, 30672650, -352237609,
                1853358684, -1652738942, -351551388, 586945080, 436989880,
                -1058172265, -39395939, 1931083162, -120899572, 1923405983,
                1581598553, -510244191, -2061480135, 1678721153, -1962023865,
                1277132427, -1110886287, -1523372032, 785745830, 717155305,
                801401289, 1784565254, -158147337, -1680301157, -460504490,
                1392568413, -461163032, -580818353, 670852298, -103451526,
                -628948457, 1031251156, -1179811655, 1918469873, -2137145420,
                2109641272, 1223242050, -1576488702, 1980581259, -1304997821,
                -1973037732, -1675321690, -841452636, -261013732, -80575033,
                -191729963, 357573379, -1820648232, 907793958, -322565590,
                1087234810, 929248841, -1670024096, 1540097236, -288279856,
                -141092235, 918430357, 231182672, -2005390195, -1398748564,
                -2000829321, -1391491023, -1368579809, 1240282601, -1189579631,
                617155061, -982875820, -1285547626, 177296625, -739733295,
                -31922668, 163864244, -338645412, -1803649270, 140537471,
                -1163980465, 164638081, -536168498, -1279894328, -1861997574,
                1519259484, 1638696325, -213306259, -1902621511, 621251278,
                1945719456, -1854308158, 75657734, -269777554, -748079983,
                669030873, -1881671881, -970549033, 290292907, 1371499556,
                1162288140, -1805544819, 934112708, 1697378226, 1738216678,
                -1058746205, -1564097559, -1652799741, -1283953690, 263426793,
                -1896007391, -244408901, -967275971, -2084845592, 89746712,
                1679929880, -148188575, 555900577, -408965409, -701839648,
                454340340, -1901029532, 873012643, -1124651743, -498381664,
                -1599494812, 1227310836, 362815508, 1834816954, -1431164416,
                451344581, -729454164, -371134611, -1882375344, 113777664,
                -645846783, 1350392279, 2046898780, 598573648, 374223231,
                -144451767, -1842426578, 249615552, 1743477937, -1470148278,
                1741520859, 627467573, -1846316811, 713489615, -2056567494,
                -2043781571, -2119201999, 1068270768, -821773091, -836932437,
                -545087630, 1660383348, -1617123048, 1428499863, 539044774,
                -748181862, -1944223362, -778342480, 886719403, -576015629,
                -1302699823, 1362924099, -690008141, -1592032021, -520568407,
                2146874815, 1087868986, -204625677, -1064672989, -789232338,
                -2112440180, -1579850728, 417679337, -1302620388, -81898331,
                -1312426933, -2037998697, 568026741, -1225284617, 1209231996,
                1756065287, 1831018973, -1086153174, -678908670, -26592532,
                -1197098806, -672943426, 80425847, 1382679299, 175550893,
                487256336, 1884163576, 1437196676, 910401359, 1205789903,
                109438383, 1424913094, 1913171037, -1153001737, 1462328803,
                -948574285, -747630144, -491526505, -911608133, -1076837257,
                1218576258, -1879283119, -1551632747, -2074492355, 831641405,
                -692591544, 999693296, 651022700, 1632169731, 1891428481,
                1212018891, -1722977065, -453076185, -1982329054, 2029248250,
                638270231, -574905753, 1350625001, 993937862, 331361609,
                -1949384252, 831997567, 1357556644, -526592432, -654457434,
                1481513537, -485039753, 1165443159, 1352304341, 2123660492,
                -1738841987, 1149662751, 595392162, 420817144, 444025802,
                533134554, -65032476, -157069603, -601823963, -839461477,
                164195755, 2025793879, 414159436, -1540068254, -2019810732,
                1860629281, -1189880355, -50817822, 1989261895, 756523448,
                505060040, -232133840, 372744844, 61867796, -575666904,
                -78240182, -1427512726, 376132, -1159135821, -1904259225,
                251046254, 816198450, 680631243, 1658758594, 782414926,
                -1884790626, -1203585939, -866417759, -1326617461, -1942204212,
                -1606136784, 5951507, -860076726, 193044629, -207997213,
                -680253061, 1132142029, 643618092, 844218035, -1831579358,
                2077623996, -703298447, 1554519154, 1141606433, 1618507090,
                -1457853482, 1146355980, 1984413477, 427853541, -1359914572,
                1177496430, -1892900244, -2008896853, -1567107417, 1627585867,
                903098026, -570004152, -1269762493, -1379145336, 1434748456,
                -2077112061, -1724345036, 36354205, -241817028, -1348172149,
                -1684239714, 348793226, -1692098008, -2536282, 2024103913,
                704532899, 1931807930, 263980817, 1235388766, -588664115,
                -1745763465, -1551944689, 1987975806, -761022215, 919703908,
                -88779947, 43682107, 57606813, -1568046009, 2035030653,
                -578079338, -1548647028, 454904122, 1985859644, 331241700,
                -1062892797, -1466202779, -1314496210, -321464143, -1621356841,
                -113461229, -304061812, -1666228908, 900257123, 576856233,
                -1168038608, -135863311, -652835333, 783243489, -1621317868,
                1248209057, -41418709, 886302836, 1908586882, -1201339752,
                -1745641510, -970783129, 1491030692, 1089223282, 186540377,
                -637672637, -1878188876, -680851936, 561022943, 1700695486,
                2051662832, 513185952, 309877506, -1960030281, 385516144,
                -758671881, 2131895804, 1214386531, -1606295997, 1480768018,
                -1768828132, -749321779, 1055115895, -1502144035, -1318069413,
                -958850766, -1432422519, -259258529, 1022522654, -1903232385,
                -653594545, 628692426, 2034724875, -463440765, -294195194,
                -1323079033, 530546378, -731207527, -410035381, 855583702,
                1909396814, 247681734, -1700296285, 164266734, 891564123,
                1311700499, 566216974, -1079402834, 977468676, -1090098655,
                -1370206977, 164957009, 1566764159, 1113563990, 1102756094,
                1833223226, 1325007434, 416747884, -1275737047, 61823274,
                -848330445, -894224060, 1938181840, 1108559960, -135192483,
                568525614, -813820156, -2099427247, 1819863526, 1903272150,
                267701897, 942966974, 1019563260, 1098675562, -421942498,
                1479786312, -1713679584, -1441697391, -656365570, -321198422,
                -1215692241, -956028606, -168197726, 1390277972, 1526938414,
                -1326072830, -1754036067, 1547973500, -473831985, 2053081122,
                -181418661, 284746724, -698543808, -2103303084, -1732721113,
                -1519572290, 1112787996, 552416463, 861515733, -2138574980,
                -1011066046, -1164075942, 983440606, 1868497312, 529687711,
                -251465281, 1564223938, 1379711593, -274368918, 1468192694,
                -278886323, 570741758, 1984170481, 1993602396, 1134959295,
                -1081953439, -61204364, 792207282, -395949282, -213971678,
                -255655867, 241273440, 1434068371, 1774282171, -393402057,
                -298610725, 1937893072, -1374826152, 1760262141, -1181084689,
                1674025130, -1399539970, -266198581, 1878624623, 1891127596,
                -1206581032, 253430175, -284354507, -499899114, 11143146,
                -985323632, -578892455, -272693347, -841718945, -921321773,
                2146305998, -254387674, 2049453286, -1348872734, 2129327416,
                1128892573, -521682658, 674500235, 1024755197, 956082792,
                817648042, -495925422, 1923793117, 222151083, 1843706599,
                -1525928702, 798542327, -1760476697, -174735750, -1810901622,
                -1294132626, -171186791, -1178527874, 78877989, 200393293,
                1935209947, -1628637876, -45045758, 1330423933, 1752950473,
                -1788353189, 1430218511, 427960478, -1109464840, 615535677,
                1395357421, -392928530, -948950847, -962206945, 1126093157,
                600678380, -878850224, -374557545, 733782538, -1120157732,
                -1711006515, -865150774, -1274609976, -697067126, -273998500,
                2010570964, -1740100600, 214595826, -1343504455, 1202362556,
                -1026659692, 478052411, 703226429, -1269378272, -1387201383,
                -2146718251, 1746142715, 1615031155, -1949268799, 606379792,
                -33921075, -493025252, 1918998061, -977930102, -1767930167,
                645895908, -189587797, 1960788868, -303773484, 1201953365,
                -429739834, 159571435, 1958810245, 457801201, -951055806,
                1833117084, 937525415, -362121151, 624388299, 474594888,
                942260072, -472574713, 1210240, -961449890, -1837699529,
                95598507, 1246785017, 1602455721, 621879547, 814337864,
                217276178, 518193792, 663420898, 1007124626, 754443420,
                -1987087659, 1203459925, -952394703, 662194208, -1248805341,
                872706527, -1668839372, -403253377, 1933238617, -1810532628,
                -1193067123, -827636129, 308423691, 1806008520, -687220111,
                1267431886, -1893073048, -1252931109, 408101216, -807733541,
                679966762, -1659956457, 94341729, -133026118, 1880617337,
                904588805, 341664194, -312201310, 1246739910, -1224230061,
                -199756, 1204619506, -1467401768, 631458618, -1162175524,
                -1669001188, 1072869194, -751643866, 2031833171, 609377594,
                -152778917, 55683534, -1428920550, -39191297, -838779251,
                -1378368543, 816902063, 1662784052, -581015513, -128349563,
                1730393191, -1224550201, 874337376, -1390598538, 249115902,
                1193432906, 606762300, -479386183, 264571800, 294520149,
                -1037581641, -1254461725, 1892924952, -1611315440, -2049872495,
                214152546, 577200641, 1378627532, 1615851585, -1989539324,
                1391057105, 596833534, 1651533041, -2070582369, 275458178,
                2131910418, -1451816604, 1852432040, 786094441, 808789331,
                1026464547, 95346290, 499015322, -521603367, 301936397,
                1142724918, 1775575347, -898945450, 607289249, 1605180479,
                1516067953, 2025410408, 1914408234, -1282043872, 1601571554,
                -1426968962, 167302306, -713285097, 493053129, -184473755,
                -492425506, 1995372500, -1276293838, 1793395071, 336216440,
                -724854233, 1753831900, -720067494, 1957783124, 1478708709,
                856963403, -106288401, -1151500423, 1816588592, 1270294106,
                -1048520752, -1600533221, 511274686, 100909215, -366516899,
                -74323294, -1689550372, 979882554, 693878880, 1579762430,
                1156040953, 2051707181, 235681760, -1541635174, 1557827682,
                128405091, 1775190576, -392451652, -2021839010, 405187502,
                658166639, 1236031340, 1581934721, 1278024628, -90716982,
                2004343997, 955377414, 734811661, 688664506, -1999699490,
                -1345617933, -1406856696, 1130982400, -1511779510, 1338221445,
                577544447, 2023409751, 1773122482, 1931220632, 1519458747,
                -496756908, 742540725, 1861634776, 1031361870, -905256565,
                1007722784, -1848680187, 2093901136, 698407896, -490214804,
                -1855657777, -1459807227, 1785748918, -1230321948, -656375304,
                -1893271659, -796533990, 451459285, 1922668358, 570066493,
                -624348410, 2008802977, -1012902693, 1263418083, 580852856,
                1332057582, -416012924, -1919414258, -607932137, -1354190127,
                -2116526949, -2122858245, 1873410729, -43187405, 1004099243,
                -1702695250, 268474261, 1012192404, 1853919331, 611522737,
                -1673158178, -433557081, 345, 1907196897, -167885707,
                2078222097, 17988523, 1289509139, -38111118, 131780905,
                -1347296521, -621812974, 889599102, -276638035, -1552442572,
                -1723230035, 1489894231, -1968293202, 1254563474, -156839167,
                -1146365421, -1249468628, 1334200960, -1441601556, 1370887514,
                1088652869, -497705488, -1737442366, -172532428, 862466023,
                2029298589, -158993728, 706231456, -758114500, 1560473198,
                1809431909, -1603025110, -1875807640, 1826856738, 1957194149,
                564813219, -1637905399, 1849533920, -2101855210, 1792818119,
                1565617860, -1077978164, 915233965, 900012746, -1348455071,
                -93079248, -1938953793, -335508667, -2021950032, 439373307,
                2045817802, 1267783419, 352981959, 1429435666, 1082961121,
                -96166931, -319667654, -2101445342, -785489478, 484482773,
                1229957636, 376302495, 443508588, -1601968485, 1026888352,
                -1165903363, -1190653260, -1655637670, 1587771952, -1465043439,
                524775809, -725238871, -1576630058, 1848824283, -2043886472,
                -898923853, -17979159, 1216530528, 228529819, 1630283309,
                724778209, 25460202, -1179294990, 670100885, -698360707,
                352052666, 1666622737, 410167734, -1862607650, 1558033139,
                1897530799, 968124758, -513268618, -1517600030, -2114194299,
                610518896, 272707493, 730878553, -665269140, -958415520,
                1620073671, 1380745308, 172279393, 2160997, -1047484991,
                1788983789, -1037277789, -1620809774, 1095795012, -1495085865,
                -908314164, 548457767, -433872148, 319867724, -1964120813,
                207279622, 260256869, -364615731, 95047238, 129543255,
                1590613804, 717287355, 1934993989, 49632917, -368858188,
                454744448, 1161116748, -600548632, 1147458433, -1778113641,
                -85112232, -1612026611, 1884653098, 1458741301, -1618969737,
                -170401380, -1830558657, -529557565, -787765554, 1186598402,
                -1892936270, 1992722541, 126014695, -961118226, 1884601147,
                -1285969740, -1144208936, -1958047806, -173023925, 2070249280,
                -448716015, -529851629, -676010212, -1856101514, 1349141010,
                -1744480672, 1495836638, 276879242, -1393993836, -715694081,
                -877107699, -1967232848, 1091952638, 465124914, -2126020346,
                -1523473654, 1469466727, 1929447287, -1140293273, 82147072,
                -1338511572, 669480924, -2054059515, -867811308, 948006351,
                763369073, -477763081, 1406216384, -1405365152, 2126823208,
                326864496, 1474665081, 1599663066, -1045036884, 968382116,
                -1559316307, 2130473506, -401871028, -2013443299, 1402688544,
                -1600884473, -1963919806, -122630389, -524210336, -1835319572,
                1555868998, 1285181766, 533003299, -2047953079, 1781103641,
                -382367544, -2043858398, 1524147965, -293138839, -2146257704,
                1915152782, -675107202, -900839867, 442955032, 495006874,
                1470961108, 657410461, 412997841, -1590703961, -1266853968,
                220384173, 509646467, 577606965, -1150787254, -1380517689,
                -1138440414, 1659959797, -1699319729, 483785797, 636806970,
                284586850, -1582880499, 1994338717, -1851585412, -2125874463,
                1120362855, 1257121802, -1906876440, -1228697188, -1593090530,
                -1108632686, 748458794, 1976902711, -1999969171, -1447006257,
                1741525911, 325696458, 559999019, 828288017, -1643511870,
                1037586974, 1488479158, -728362993, -13960920, -161659811,
                -542108529, 1719729318, -1178520592, -34038279, 2098492316,
                -287963190, 1689338603, -1175684808, -1695228887, -684164928,
                -841179650, 931531288, -283511646, -1009573867, -1041978045,
                649577074, -810651962, 244209667, 757467089, -995407871,
                1202527654, 1768161361, 2050306288, 1420547191, 838571361,
                -2130479428, 34940817, -856244560, -1878101784, 804222078,
                1471083686, 1370957602, 540226339, 1506792988, 1579273901,
                1605509551, -238556247, -1030406673, 1994359067, -369120539,
                -361843043, -2038706331, -1075138282, 623791559, 1645906667,
                -221640991, 1948375491, -480049574, 1366804226, 1060260179,
                -2022933511, -55945790, 1359243964, 1457585447, -1346729570,
                68530135, -1169833555, 187347855, 1974521872, -314260879,
                659203032, -1871794211, 1803280928, -1555313329, -431436848,
                1928079262, -979970737, 1021806021, -908502287, 312736596,
                761478182, 1224858003, -934062252, 1767926451, -1982991684,
                -2091279045, 1349443825, -1145939572, -1593025532, 1906440584,
                -565736861, -1251374951, -1367658189, 2120630658, -1709570536,
                1029093793, -2122241592, -1178004486, 223778695, 341062061,
                -1979322211, 17428000, 790210369, -1906964485, 394946475,
                592969913, 98048543, -532804298, 663638079, -251726322,
                921546160, -110835550, -155658508, 1548223015, -1861809799,
                2056445594, -1346235117, -723231561, -1877284809, -340350533,
                -939604318, -1032205996, 1899785390, 472672249, 1912738173,
                472901735, 1205958304, 2131937205, 708744303, 1798908498,
                2026994418, 68209587, 1255916308, -581014209, -1044623582,
                1454039888, -473351232, 1682155560, 1748287299, 74626696,
                -1479744483, 639169477, -781501997, -299403460, 1343869057,
                910600517, 2045629820, -212033681, 486671902, -2109380554,
                -333273383, 1798554615, 320073049, -1274798256, -613581842,
                1912926065, 1322158759, -147410608, -767903455, -1104338493,
                1975795040, 43758720, 1411187543, -1180665112, 1116544769,
                1837200189, -331427575, -2112060959, 1012983757, 1052966770,
                -1690189120, -960237509, -729113147, 814499370, -455728529,
                2057934630, 565088521, -1480587370, -750475280, -1761157749,
                -1768912391, -826290785, -443354937, -167468311, -1858150951,
                1584882381, -777399466, -683857531, -2014124948, 317456735,
                -833111463, -141736569, 860465308, -2034835326, 1248699471,
                -1102395691, -1659163067, 1811622446, -1250990304, -1126236059,
                -1684001296, 1448715087, -453343046, -604888025, -90345144,
                218637373, 1564676141, -435242231, 1397054907, 1505577070,
                -47233644, 1632901215, 2125761513, -1966682743, 252131425,
                703030051, 409558496, 630459042, -1945575579, -946768779,
                1750666789, -645299369, -1626319674, 722102739, -1510261015,
                -614711934, 340604145, 28269473, 1596430555, 1215059173,
                -658615467, -925992143, 1352316846, 1294697902, -646683091,
                -978343170, -904199618, -1209560642, 1167063204, 1361691685,
                666186080, 406416465, -720464321, 445643941, -263493952,
                1391745728, -1673218397, 21422721, -2046060899, -1558647298,
                -108518165, 73248058, -1465621521, -317878039, 562216483,
                1172643489, -536816368, 1733023620, 2016500993, -873898140,
                -1571746965, -2110928714, -455722262, -61573348, -1482141734,
                -1484573148, 1305527082, -655307166, 936480576, 173796141,
                771776312, -128489106, -2143019841, 454657559, -1617744583,
                15001600, -1340255199, 1108463832, -1097119643, -69057438,
                1328906598, 719799971, -1895673857, -591380894, -688168845,
                -62920964, -2058048975, 2019201205, 873858863, -1479158008,
                1517722819, 817357156, 1258742014, 1931682299, -1767401606,
                1765493568, -1965037555, -358770780, -1734507290, -339712484,
                -1172350909, 1023167140, 728152129, -658819648, -1941731952,
                222550359, -1672906963, -1269380182, -763505321, 1446746643,
                -1851843048, -534460694, 301080295, 1122431008, -2040543643,
                1606894560, -1453387165, 1854835118, -1664814648, 1021154308,
                -1241563804, -1000040011, -89476740, -1918149583, -213516389,
                1391877486, -414738452, 911397604, -909305990, -905638857,
                -1078370663, -1672900771, 35125642, -798337347, 1660995112,
                1000497423, 837131172, -946906864, 1811292737, -1665804821,
                -1773880435, 1243886951, -1819847013, 679402445, -1723986838,
                325328494, -36779607, -13536200, 157931217, 1075930975,
                1730391645, -1891050022, -1606715691, -1274909054, 1613506001,
                -2240289, -1776424777, -1042665304, -1389527075, -567654779,
                44342671, 2114107653, 613853696, -158753885, -525006413,
                1815623820, 576526326, 973562019, 178846374, -130249694,
                1060536246, 1035770281, -1675079337, 990674920, -504028585,
                262009591, -1048753469, -1445595317, 1178662222, -807927216,
                8479457, 2120204097, 1581540460, -376099912, -402038173,
                1152600199, -479252667, 1992939866, 25526964, -854878496,
                509591604, 1822686522, 1486687687, -2122253657, 1448512040,
                -1248289332, -1964026399, -800559324, 2120984196, -1117478338,
                -1108101227, 135396342, -1826641011, 648948519, -1874988840,
                1279244594, 2110059564, 1133471386, -1675613382, -1466335071,
                1106674971, 595030200, -384681602, 2035013775, 257434059,
                -996398280, 1514255572, 776326280, 930902067, 1233017410,
                -1409985368, 772646716, -1876393543, -431312230, -1938943330,
                1499552431, -1563015757, -915329756, -1946573296, -155701896,
                1783603399, 1424312013, -2083450645, -1274672329, -1915086977,
                -1625333455, 1869745927, 92259711, -312961353, -1875234485,
                -622261646, 1713038506, -508401376, -1753758740, -1673097583,
                2122970035, -1020832218, 1663014866, 2014513527, 2030545533,
                1835894859, -1596327538, 1051395413, 90796117, 277556649,
                -1010153943, 543848279, -294182871, -1180085231, -856249830,
                -1706144557, -1782269098, 961317558, -595259506, 981362348,
                -360210940, -1993699948, 878288407, -19857661, -1964579689,
                -1063885709, -1295165249, -377421524, 2136038362, -928588814,
                -913466080, 433463091, 2143696991, -171199993, 1727874811,
                1730918680, 1392902488, 754252475, -1025549199, 1126656871,
                1320315268, -1880612409, 934841794, 1460669032, -13814011,
                743722111, -1553863168, 212263183, -1130448981, -1115643396,
                -1971808503, 534436386, 1027799249, 710389522, 269218812,
                2095661731, -448004313, -1170479158, 133612004, -887352158,
                246109321, -1635381746, -1358554706, 1784869049, -1288025062,
                178392782, -861796325, 122019124, -285884867, -1328810084,
                -936328463, 569952553, 2144575182, 1323145787, -1421139519,
                1415119993, -2050283166, 771507159, 154457248, 39584495,
                920804532, 227270375, -939229983, -1785602413, -1193511752,
                1444998387, -184374332, -120151529, 1838619930, -792358026,
                861635786, -1391956161, 206104522, -56999793, -888992509,
                -1066829561, 58959179, 140821904, 1153675230, -1577470076,
                1013296789, -67523206, 1654564679, 1614091668, -1074845156,
                752689223, -687924790, -1252459097, 1473451603, -652383241,
                -975537898, -436219353, 653993879, 1391274315, 1973980796,
                539818214, 1781525067, 1528008533, -1008118420, 496634580,
                2109392796, 318861583, 497307669, 1455884185, 1970353124,
                -372287384, 1333340280, 1500763620, -933818906, 1610922388,
                1696938392, 368370952, -200958229, 1600949625, -72551364,
                1724526311, 333486100, 1747527330, 1224027863, -1729596686,
                -1880416559, 1285514616, 1496966503, -1039352952, 973182266,
                -1042065011, 652201417, 113452527, 1721650385, -693468786,
                -1133642255, -141514596, 1256405190, -951285776, 1933516331,
                -1821400456, -1580892979, 568071163, 4310315, -1956014513,
                -1632035085, 302881574, -501566716, 1429093284, 924939374,
                -1252185660, 1135936567, -1797500402, -1297173374, 827168239,
                154375567, -1839076703, -1276084794, 1199655703, -1889402034,
                -2010797097, -1670610675, -618963447, -25583551, -945175905,
                -718706121, 902081697, 1865705182, -928690623, -1438027120,
                -1330950661, 1386691566, 954721286, 158085635, 1269305111,
                -1931954914, -1343670910, -300076717, -1572727063, -1102206053,
                -448743888, 1251270142, -413703838, -903745204, 791911897,
                -189812879, -1270405197, -431295907, -48451132, 966048035,
                1823610142, 1973531274, -324535942, -591067574, 1167379460,
                -1924304808, 671610327, -2081446993, -669763220, -340834372,
                -1324719809, -521991453, -1417186240, 1432905367, -1296828796,
                1402748655, -706832746, 223090746, 653980435, -140026673,
                1005137455, -665753656, -2088361252, 456056421, -1903930702,
                -748858125, 2023043584, 1728200344, -1069498639, -73708273,
                -1731669325, 300736130, -493660432, 202602503, 671924484,
                -1171516391, -473676145, -2009088126, -1853565332, -2059058387,
                -1071963802, -1241989323, -1478135994, -589962335, -810640030,
                -387130930, 35977175, 995637856, -1015457317, 1105122724,
                1323610550, -210218922, -1977602965, -1417120693, 528862972,
                963823759, 116350613, 80054032, -1242757521, -1942591816,
                -735198845, 1356592156, -1970476589, 66187984, -82492084,
                -1089199046, 1303709219, -1097581429, -97722901, -1045232659,
                -1381244173, -753221569, -213188123, -135656982, 220448626,
                -550637441, 1030824284, -1829624032, -1112772986, -883279655,
                160515892, -895167637, 2031907070, 1597048726, 1529945226,
                -1587236464, -66825568, 518260913, 1265901168, 1645694841,
                527470863, -1711928988, -436345007, -174831780, 1986422137,
                970983458, -13997225, 1896209559, -660776576, 181620393,
                -609384337, 400585711, 55629776, -613353757, 1821046832,
                -890314138, 2062685475, -79919609, 1931831429, 1238178922,
                -595126988, 1285838118, -778960043, 1361834427, 929875837,
                1726996677, 650338499, 171944776, -2053426502, -1333459934,
                1592723620, -918228300, 1727360928, 390051749, -526060236,
                -1336434834, 1992557849, -1675656330, 1665679969, 622698657,
                -292256144, 1196277714, -1800440926, 1701144803, -2057342547,
                548316049, 1479005829, 946957774, 1606000726, 149087622,
                -1627788063, 573730786, 1835595797, 384685847, 62775674,
                1349497675, -762947600, 1156051070, 861243461, 20295041,
                58681843, -593665149, -1896767217, 379062266, -452269047,
                -1174663765, -2029877536, 306776366, 1540670903, -1812682978,
                -1078721285, -1966369328, -1968319002, -2018971268, -258539288,
                -1223074500, 1744960242, -945298053, 2066922660, -700196695,
                289571658, -393821498, -1483952759, -267181689, -1943947514,
                371114882, -2004272582, 2038798206, 1990789320, -362024928,
                438543802, 572308612, 1687122524, -2066304284, -1364138867,
                224565867, -699518600, -895407853, -1582450905, 950348380,
                722245298, -124680718, -756046875, 1030685645, 838508992,
                392759786, 200703780, -1195858797, 234961432, -272675445,
                -1445397481, 1438832439, 576900165, -1080308957, 289585857,
                45833229, -1104163767, -1222424725, 515497425, 528809622,
                843142985, -1664295706, -327741408, -422826651, 253247597,
                -1989072728, -1123672329, -1140628175, -525619722, 1086039551,
                -7645614, 175779925, -14348527, -1283675434, 111394348,
                -1696126828, 1787055901, -629012147, 1525890819, 342060266,
                2111556958, 1942932742, -636916714, 856092905, 1377926719,
                -47205052, 1684826911, 1841847379, 1605101137, -1279292310,
                1838849963, -60844467, 221222533, 689349361, -333725811,
                -103920575, -285841318, -49751376, 1792341488, 371056405,
                -965484637, 714174648, -602596501, 238294368, -1966995277,
                -105288136, -1166730325, 1850386875, 1075276882, 918101859,
                979374989, -972754394, 1314754566, 1363317992, -224488626,
                -1295849159, 151873089, 1389655834, 1730626190, -1112144378,
                1423112717, -405459415, -109474517, -125613902, -698673085,
                1025186359, -1502383146, -662030442, 1943673279, -448908722,
                -714555264, 930937145, -2027532311, -244652330, 1679567246,
                -1185866105, -2046508718, -306812344, -620180539, 1782257401,
                -592088741, 970429063, -256521134, 613572032, 1085189784,
                2113738222, -2024716637, -591592115, -518547467, -1928793220,
                -1887289495, -1818402637, -1535216702, 1418948472, 914154127,
                1639561918, 2074068319, 1812390892, 1820059949, -1075791374,
                852055814, -309632154, 1397700114, 1000374601, 705253392,
                1064605433, 1811280493, 10568469, 2036000270, 6530825,
                -1956932544, -1534906890, 1127290388, -780121419, 1249246494,
                91825693, 1148359310, -564507295, 305404040, -516747537,
                1113773849, -199060391, -1983141909, 1267838150, -1207570559,
                1305074985, 1414478475, 1866432143, -870500656, -2094513679,
                2125197881, 1794206120, -1907759426, -1416685931, 774394895,
                482432294, -898756905, 1025000477, 963017191, -1797683793,
                -966416540, 559953020, 507815879, 1878149131, 886444710,
                549543848, 1361981948, 1423666962, -1505356700, -420087934,
                -2036374358, 377107068, -627300473, -1721541086, 2112542817,
                579187706, 68196616, -851620341, 1046256308, -1666589182,
                -1513983137, 245319909, -1943986037, 548866801, 1458067152,
                -1804054358, -1782298056, -651773002, -1027258065, -1296233831,
                1231800839, 967859844, 1653823060, -1917685276, -811205090,
                -158024205, 486303392, -933964749, -309372036, -1524630349,
                -77217293, 1779935952, 347234629, -2113617222, 1358838611,
                1276266085, 942530216, -1667454784, 1169794257, -990151475,
                -1186972153, 1833352373, 335910365, -253339669, -331270622,
                -847421411, -1029228387, -1737535610, 1423800127, -2015964447,
                143917086, 1939215526, -852558852, -1583714947, 1869996207,
                109329667, -1672622977, -798743997, -172322118, 1178429576,
                -282052624, -1533018372, 596367541, -416833355, 1305291768,
                303193648, -1850996926, -1520396192, 498351016, 1889610996,
                -837323487, -119017729, 387477436, 1274776133, 1519741547,
                464224936, -1013353462, 498521219, 867135459, -898036699,
                971969109, -568582175, 1233383809, 2002087389, -194602139,
                -917773200, -1219520476, -1590499940, 408589750, -416956604,
                682849790, 109350396, -971764070, -192873241, 1272519462,
                -1665273817, -546088340, -1164963800, 604189621, 95128899,
                -1139327330, 743664953, -998704894, 31621643, 1370237980,
                -1168891985, -788789761, -1183699297, 1987077737, 1511637306,
                -490697762, 896946048, -1723126479, -5316746, 1059668960,
                -2097430894, 1014774651, 1846438272, 1149174442, -806280743,
                -375360853, 2121226647, -630885917, 1487582733, -47603040,
                111033181, -1009891269, 1415237583, 1510321603, 669029457,
                -2087988175, 1393720911, -1386940331, 182326458, 173515406,
                -2103443513, 1306030774, 912319747, -1534630356, -1300022039,
                -1571938011, 387589963, 49677110, 551971896, 1114775990,
                -313354302, -243098107, 745573415, -520941389, -658737906,
                -1222492641, -616234386, 154231436, 236886623, -1578798440,
                -855677045, 1952367265, 1077499519, 726422893, -2002087399,
                -664880208, 1006104911, 1638195132, -1097801786, 532758578,
                816480218, -835614580, 1873217856, 989432797, -530505042,
                1995375552, -1256387035, 1119383512, -1146007463, 1866784883,
                -15847265, -1261009890, 2117807656, -927664865, -498479209,
                921594173, -1206005379, -2110796741, -848766546, -1042830917,
                1903756807, -891570044, 1481154667, 2126621285, -1309655605,
                1693911218, -442646030, 1668063945, -1638773286, -1469631080,
                -804208209, -1696179506, -1548935199, -2132887034, 1232451637,
                1101929545, -1759326524, -226439298, -1407811430, -1359964941,
                -209196124, 2120934862, 2080788933, 1351154694, -1221547733,
                -2039548385, 1172532881, 1395043565, -362241123, 1033414937,
                1657549448, -1729196377, 1395655980, 1311114355, 650776978,
                -891715423, -2081444457, 53792695, -551348957, -1866760590,
                642822078, -1596749464, -1097844474, -407795320, 1040355871,
                -555056756, -669359273, 912008862, 1780619555, 345523470,
                770274100, 682275151, 1161287440, 964844767, -1527963956,
                1794392937, -399088760, 189041046, -1586046264, -591397960,
                138738119, -1309082482, 102939696, 1312020715, -709626161,
                -794017471, 394115834, -216333919, 1709975218, 1581513455,
                810791054, -954453223, 975247650, 706283617, 912171172,
                598366744, -1456514619, 1201800253, 1769793294, 949243259,
                2064697492, 715446061, -651426085, -365938745, -1193879662,
                277810842, -1745680603, -363823316, 1245527911, -1209981578,
                -696941189, -822085021, -816354090, -575236209, -1504839675,
                -1771085395, 1082908445, -1516964140, 1451891023, 2065710723,
                -22315724, -672649778, 836713996, -404555641, 503761713,
                187426156, 211716972, 1929015039, 1001653390, -1727129343,
                1293774754, -638219736, -1245384044, -1846711643, -1566090116,
                1292317829, 230255241, 160747631, -705970221, 2142255687,
                -113728531, -822696914, -513158177, -2102122386, 1958001054,
                -1173677788, -43710773, 456203527, -1492338261, 1543212301,
                1288004963, 978031117, 873004546, -1518787381, -90713934,
                -773787020, -131521183, -938542916, 1867612442, 75321715,
                1064741461, 939027210, 1962886697, -514621041, -1178234967,
                495813249, -1112118022, -2030232669, -1787163624, 1263300749,
                -211688086, 2006064086, 2132087260, -1185481265, -409788038,
                -2077093800, 672251405, 1781035001, 951319266, 584841196,
                -1881508349, -372234964, 878738328, 770879224, -1078374982,
                -1056609571, -646101803, -69999300, -1780822046, -26124122,
                899594499, 260340004, 988803989, 311351723, -1273262305,
                -238764747, 728254232, 256671325, 2037439031, 433023863,
                -1087001763, -614781959, -1777606929, -1379726567, 1430234871,
                -1881219614, 1169616253, -1085645049, 1526438499, 1439756583,
                208324247, -1297957034, -1504608927, -116052550, 875454981,
                -1220977521, 1116219223, 1126965127, 1723935927, -1118651055,
                1391725577, 2060960759, -1137445225, -1414497512, -2082170534,
                -157834506, 67669135, 2080091432, 1523465268, -1729749589,
                92885787, -659869239, 1503602737, 1101945968, -1160789697,
                1054824021, -1938261003, -793111485, -1032031108, -1025753179,
                -1345157787, 203465893, 1095787120, 974697936, 1152721587,
                1756188837, 1360556827, 482711629, -606057723, -1846828273,
                -879149854, -255822704, -1770982555, 87137137, 1231603201,
                424839867, -2098676986, -122562550, 548920293, 87416252,
                -73065055, 1856475265, 397462676, -2033904170, 2094178620,
                -957823030, -1543849427, 1224183764, 1032457363, -727598267,
                1475133176, 840777269, -409122586, -255815457, -1817573818,
                350156365, -27622023, -997062587, -1947244539, -1592938116,
                -1604409220, 87158185, -1760765311, 519430392, 960112310,
                -2010918513, 1396611401, -820507603, 1588134671, -887624714,
                1588515902, 1546304041, 1890305255, -196207179, 221415564,
                1089259047, 1940953680, 1760578566, -1288076226, -1164757426,
                -32541318, -880053722, -47454372, -1832865603, 8120497,
                1650929930, -160898310, 1022267862, -1714358579, 1573060532,
                -1758904790, -268431258, -973152438, -966942313, -1653116881,
                1732444596, 1026438914, 100472463, 341862741, -689176852,
                406805306, 639357512, 1806034416, 423328734, 1598305396,
                -1254624252, -1691918577, 1593966829, 1858667697, -983543407,
                -606386237, -975459219, 588516338, 1564156787, 1177418103,
                378390255, -1797865466, -1762558039, -254728086, 1304969138,
                1567086707, 435067544, -216320846, -1888398057, -177192350,
                -1809731105, 2050960986, -1630672594, -1839484657, -1223192098,
                1946736607, -2076871127, -947114344, 529294403, -1729730288,
                -1520455681, -259644074, 807797088, 66575601, -1811562604,
                -964134818, -953957520, 2076780819, 2147280281, 43618739,
                1255573660, 178385409, -2034197996, -2026245735, 835537913,
                1571447107, 1347518535, -923503683, -2121307366, 1400399630,
                -901630020, 844924007, -1763202635, 754457393, 46698909,
                962227032, -2050640901, -448365746, 300316407, 1779193851,
                -225098482, -987184368, 1263905846, -1731598285, -445351973,
                -1674917294, -1160853806, -605689292, -51624350, -190113215,
                -1744066124, 973510957, 413620819, -1013763494, -2091849857,
                641342371, -175744726, 1281986112, 1336620593, 548912173,
                -561429617, -1152159885, 1503222562, 1452367321, -909477239,
                -1063491003, 794238403, -724268425, 1881790318, 123468416,
                1713201149, 9356825, -934806501, -1606308570, -34465481,
                -240281969, 1633205985, 1420095503, -57762078, 2010773213,
                166179773, -370128611, -1800748407, -977493653, 930885149,
                1558761549, 38393830, 362807883, 1025620476, -45358918,
                1266444718, -362993712, 1028697253, -189062681, 1486637302,
                -2093739972, -621808222, 212301809, -1637868998, 322982964,
                1358334692, 1657278647, -1375933094, -380362399, -462464125,
                1434212126, -1856259911, 2147330576, -2047087645, -713352805,
                -620882208, -1451460789, 1240705802, 436926957, 707374320,
                256993797, -799611747, 1523126562, 1909855565, 321558373,
                -212350059, 1363409669, 2027695871, -350965639, 363184942,
                838353697, 1005752614, -429438826, -1396913937, 746470450,
                -1637436719, 1320702934, 2134498875, 1883549548, 240631517,
                592609532, 1034330655, -1236688887, -1956663491, -1024931935,
                384928787, 1198747424, -870085719, 1052892911, 2055606359,
                -913856532, 1398471563, -705512236, 1641343947, 1655719551,
                -234527463, 2033393384, -1749820766, 393552738, 864953275,
                262062474, -804465514, 539421731, -1169333324, -179987202,
                -411917454, 155156793, 929529863, 1194746509, 1637536436,
                851752364, 1613186661, 1357625198, -741019961, -1639837817,
                1365376840, -2128029314, 2103016972, 1880374928, 1595032109,
                -1927300047, -671352352, 728500509, 1904311082, -228142672,
                -1948668080, 1018004229, -2080638886, -305958831, 619320933,
                1017546876, -969491882, 1405706052, -1183813780, 453513321,
                893981703, 1002567562, 1601733058, -189587497, -826344516,
                306435018, -20902789, 1106379676, 45111246, 1925379292,
                188495304, -1386344466, -1231230573, -1613910428, -44277011,
                -1281515372, 1850798720, -2102218948, 32234249, -106907053,
                -1668389808, 505935680, 1135717124, -1006454727, 1639788431,
                2050479451, 422058293, 853198085, -1978339401, -1559400242,
                1533201565, 1655904791, -404415725, 1645913619, 55864294,
                1788742572, -566101913, -1404215149, -262484080, 345878556,
                1639673540, 759252783, -673623613, -1921760967, 1323517916,
                462239182, -232209348, -2086998304, 651934252, 1324665781,
                -1747533778, -1001274287, -1943733128, 841175870, 1620015505,
                -312403273, 340849865, 1375507657, -1953787729, -1330121836,
                1735795834, -2102445164, 589028513, -2047369213, -1273734675,
                1787338924, -935623240, -1111488596, 659528536, 225428217,
                540337376, -105998837, 1042393510, -1917656879, 463892662,
                1538295541, -308485388, 2080307752, 1061947171, 1163379624,
                1194083, -113374462, -1330147043, 1090522176, -1567709733,
                -2092423377, -1144857856, 558189930, -976483918, 46923003,
                -81114297, 283694929, 1881028758, 1665838038, -209717553,
                -1275426898, 752448664, -2137170267, 424502134, 164677751,
                -1404048981, -2132669916, 1280371466, -1718012362, 85641241,
                157725408, -757255869, -71643720, -1835237313, -572235038,
                227987488, -1579738360, 665615374, 1737836273, 523571421,
                -830393279, 229405465, 1993767440, -946457979, -443276901,
                1577812515, -416496637, -771134790, -2127699236, -35571943,
                -801822726, -1670943300, -2134337648, 1952919897, 202901704,
                1124008764, -1468699612, 1586556803, 1399037427, -684670070,
                736290090, 501246536, 529227144, 1282323829, -1363326555,
                23853788, 1176511065, -1806194252, -1113956873, 1859034201,
                -1756647737, -291130420, -891021337, -346547034, -1550782011,
                291989271, 244658645, -1452833234, 294409465, 430049971,
                269884701, -1188989415, -2092746440, -923597532, 476186754,
                796965944, -1785436225, 637116774, 362493511, -1807701712,
                -1627343172, -814523217, 478219390, 25170178, 2052423920,
                902249143, 708439288, 667844509, 1339930496, 685723360,
                1778308756, 889419963, 907379325, -1343165105, 430592925,
                1609424285, 1832887556, -313924462, 1853645296, -2008158936,
                1150714057, -894538137, -720811347, -1012781151, 76034619,
                -2135835862, 1078872372, -2143167404, 554254810, -1363708659,
                494662762, 411276748, -1491199486, -326193452, 963556272,
                1888865479, -421747958, 1508203684, -61679675, -1529039985,
                1287678400, 1026717258, 2071332901, -750575187, 1153065644,
                1855977126, 954757002, -1426103546, -212514125, -109392830,
                -1014885421, -1610102929, -125105233, 1264282624, 52001792,
                700755051, 1661542968, -1120917207, 1831790149, -374203459,
                -891740120, -299766594, -1599122222, 822056284, 1821912925,
                88704845, -744495863, -80559237, 1184155151, 211660309,
                -1555570423, -624365472, 1523561558, 510621853, -125099236,
                298461206, 834807091, -1094394303, -1240579959, 2144291031,
                -610168712, 503489906, -871071142, 1944831103, -237434077,
                1253407488, -2085771543, 1510719716, -128883981, -753628720,
                1535785082, 105642385, 912936379, 361568060, -1251200991,
                -596892858, 1862234310, -596846940, -744660197, -1943202375,
                450207543, -1002558767, 1265953843, -548896102, -2046008632,
                -383722407, 1787666316, -1678716241, -6443412, 278762796,
                -1845988427, 1864650783, -1887510456, 1770468804, 1709845752,
                1463303239, 1959288167, 1670670828, -1876180522, 188202814,
                -456938523, -1569568373, 1832103518, 702344528, -893131227,
                1218270066, 1755093355, 1453234941, -589473242, 1234573087,
                -545921276, -49386519, 1612901418, 1265994294, 947735401,
                818760169, 708170101, 1692396594, 971867388, 1821237276,
                -1558086829, -1864568084, 2107833463, -1262135690, -1444078115,
                -881391415, -1924025329, 519936606, 1515785208, -1943576864,
                2072051899, -699539246, -1967612762, -1583881383, -941273559,
                243616825, -1567257298, 553784242, 1248046357, -1502211005,
                -1705277867, -191124886, -250441443, -1498628457, 1903791983,
                1952086633, 292094105, 1791150911, -1581925543, 138602090,
                -1465405818, 2050560030, 2043999943, -1678309355, -605413883,
                1744053301, -1439656197, -825160169, 953560255, -1988830231,
                1499005348, -1246008468, -1211341923, -820430895, 1304316197,
                298108918, 736703581, -460212574, 1371800144, -1783810001,
                1697603676, 1772964387, 744351528, 1495028920, 1754454778,
                144688812, -1133592680, -2026492352, 988358136, -921850986,
                -1722908367, 1820547939, 73061059, 698907759, 560972673,
                1796004256, -903698321, 400666340, -1203958724, -1181153604,
                1353871094, -1655691060, 1220078804, -1613099666, -2034651685,
                -1592992498, 1573839224, 586566598, 1281392326, 891807799,
                1348396918, 845405299, -1148770962, 152267593, 1204555417,
                1171626968, 1430859436, 54885305, -1039087771, -135963596,
                878542717, -525447367, 1028850701, -1990638005, -20756250,
                -244684620, -38468914, 1790533603, -540884077, 120554885,
                -1236470900, 708837616, -1446818403, -117810156, -1253483742,
                -528487086, -1375066216, 131631165, -552134158, -828794820,
                555778314, -1827061305, 1858674443, -120526173, 710820446,
                -552882611, 506906336, -1904726513, 1409002118, -1182109753,
                -1939216392, 2057270449, -749486094, -952280026, -620097019,
                -1197139819, 568270766, 1245592764, 604773656, -1802034803,
                -361064215, 1500405474, 295458454, 648742119, -1025068411,
                -127907048, -306753542, 739455210, 1087838313, -617430097,
                912221180, 311906609, 1261407547, 1532491089, -899967696,
                -204946408, 576359297, -1509745960, -768567820, -1859388679,
                -98379909, 445895686, -305447864, -1430035625, 890019291,
                -305536285, 308684301, -1045975736, 1882346411, 536740250,
                -212193249, 1468631409, -1923341501, -526771233, -552932457,
                -1021344410, 244194281, -791786789, -907016975, 386061402,
                -1778001782, 98097637, 1860566984, 2050320246, -1661254823,
                -1902706603, -32358252, -120316691, -1746454383, 808646945,
                2033360818, 1623327300, 2074618006, 1098217376, 346484557,
                -2012406860, -1816425775, 734421048, -1562444357, -1446215324,
                1364834294, 1682490220, -1273395371, 145217957, 443492006,
                1904863292, -915209357, 1579234974, -1792397866, -893627779,
                -1647755565, 1142413093, -1828270359, 441413932, -704564636,
                790516438, -144920583, 104637320, 715572057, -2037215533,
                171153654, 645129819, 1475548509, 2017028657, -516684418,
                -1008379462, 459351336, 1522922812, -1325519807, -2049703476,
                1011475288, 2072104052, 471106987, -511017910, -826153342,
                -1175558221, -620457105, 101635327, -1546614145, -578992237,
                705005296, -1991206344, -695099874, -1934532523, -154887403,
                222902218, 1874936908, 146949805, -1701434852, 1624403258,
                -1383964723, 993790840, 1262332562, -1749202194, -2014781703,
                -1734276729, -279182394, -315596772, -1033335821, -330963057,
                1273698871, 731479783, 1245927982, -918019904, -681357218,
                1048091793, -666945164, 1185423216, -169162930, -1659220943,
                -789547046, -180050926, 899373421, 482838682, -280203187,
                -258820360, 229691802, -798880574, 1559197678, 1511490284,
                1140878069, -520400243, 1208915382, -446698591, -1040229512,
                -401304793, 617672463, -52406776, -1981893481, -1569335071,
                -1257351482, -716736079, -2064073088, 1030111109, 713191416,
                496112296, -999506669, -537608596, -1488566498, -512419693,
                -1143341785, 1665598659, 1486124344, 553728637, -1885253995,
                -357239576, -2083770758, -1520870400, -987671073, -1377967636,
                -504361702, -200955605, 1458203116, 656230254, 2097495799,
                -1303721794, -377090101, -446449054, -1722316109, 794459180,
                -1243416605, -1793836507, -84527531, -1427546030, 1509115369,
                -1835970469, -2112857547, 1094361396, -262643833, 1356474029,
                -468962899, -473441419, 614776374, 878808902, -892443583,
                -225045906, -1619727603, 1487253119, 557093027, -1044065109,
                -748982284, -1490536711, 1746915867, 536276813, -748450480,
                -1143718045, 1239304377, 1535866815, -299185191, -719414237,
                1842915206, -1148152699, -935695296, -269991304, 39915377,
                -922880754, 478881597, -2146911267, 814061985, 783386526,
                1369862008, 640320621, 129564483, -1652939495, 1652654813,
                1104481256, 1409591755, -1031216958, -1687094299, 698043404,
                -1841039496, 1424609768, 1770667993, -300250684, 688850063,
                485433743, -981648872, 1899649399, -608057536, -724547713,
                -494344102, -1148971849, 1508059791, -1297522348, 1166823041,
                -460295838, 1836872755, 1376016084, 1258670777, 142790970,
                -1312112043, -197064584, 242587591, 227116373, 1503246162,
                363332689, 35613273, -884797403, -1174251924, -861829545,
                985337820, 1492090422, -1265232163, -2055421110, -353487428,
                732742082, -1188204774, -1374624323, -971346887, 427157993,
                -569918116, -933379695, 2000490131, 1963418917, 2026069195,
                1483556166, 191396977, -1272407816, -118922147, -1652498324,
                923185899, -1512708883, 175521973, -1612765282, -501185386,
                49565599, -1286596695, -1566736628, -85024918, -231325672,
                1153367713, -709194230, -1238408518, 1701599233, -1377642274,
                -1029815448, 1056178919, -888589053, 1356066263, -809233991,
                2115993214, 1406763364, 1064698304, 1400068217, -1979481379,
                -830865979, 1781133999, -1467187856, 1140262453, -654553729,
                -1767062623, -1203426903, -1142547458, 1269246091, -1196600022,
                -1523347499, 1243053496, 1614576828, -166712214, -1181945928,
                1965911374, 1814063599, -1541498687, 1578669752, 1211322356,
                178811414, 767380825, -1929449406, 1739194950, -986379661,
                1004512920, 432994779, 663148173, -592867644, 700409920,
                -1582792857, -724844395, 1401331490, -646465703, -2077538161,
                1078484763, 2058593916, -590706693, -2092377298, -1563414844,
                1751049141, -1885164088, 644974101, -123029718, -258902325,
                261910650, -1420223020, -1715696850, -612741844, -1310415822,
                228058619, -431060743, 894329633, 1716619429, 2003659786,
                1771690152, -1464890081, 743463413, -776469416, -544631043,
                2073087244, -1823174185, 798617178, -1626395092, -1613411465,
                86664178, -1779819538, -1661208232, 364102298, 1751294350,
                -1078910619, 318126899, 1433186768, -657073484, 309414394,
                549377320, 2069766907, -1298812013, -752347024, 978402433,
                337000405, 119836235, -1966614085, -1976955644, 2028406007,
                496646787, 653055704, -552779175, -1055984998, -2110990343,
                129137820, -1643039174, -1156606553, 596714043, 411235272,
                -890002364, -1361427339, 749557536, -639280190, -233733160,
                -246081440, -1072783618, -1540412639, -323464543, -1309119302,
                -963811065, -45478688, -107930478, -2080715476, 1048003107,
                -1050403033, 1037081653, 1220904271, -1093567398, -290314192,
                -96215321, 32928645, 1647400496, 232972720, -1973192009,
                675331267, 568931833, -371640596, -1606311308, 1761628690,
                1686095318, 1860282501, 322936552, 1230011734, -1629082904,
                526993935, -392597688, 552642423, -665677425, 1377990162,
                1818772679, -1098269112, 635611049, 1753445647, -1118561713,
                -1423480094, 1686951425, -87646555, -658983433, -760627172,
                -1337341337, 587907301, -1260601684, -31628901, 136283732,
                1588772636, -211460651, -970491482, -615638690, -433227919,
                -585761120, -1451668536, 793592353, -1190660740, -1470766961,
                -1074977351, 123859819, -1535823330, -1340895759, -1035288307,
                -1991761858, -930062703, 326689892, 1901872193, 451281088,
                -308621038, -122223354, -410440715, -1519630752, -1129986335,
                -1973217661, -2050144062, -519116555, 2016223140, 947185710,
                -704497563, -1296909498, -812896222, 1274326038, -1430936795,
                1571851927, 1074097484, -1043853408, 683513252, -1399799705,
                672179564, -584755742, -733158416, -1310368909, -2063807807,
                -69376436, 1909658332, -118969009, 437713170, -1278236174,
                -1205564907, -658596469, 421388331, -1357945221, 1009693868,
                -1852790921, -1955140020, -1572669765, 1675254395, 1990848926,
                -443942436, 733289397, -390664929, 1403577763, -219651462,
                -1797351524, 1990301954, -1121486996, 1017375614, 513560583,
                -1826604956, 2126626150, 2109275790, 2011349430, -2093823748,
                1730007338, 371631459, -273508058, -199387840, 1836423435,
                -1997003787, 699883744, -1213444977, -675953604, 19739343,
                -906184643, 1908322580, 516176650, 1497480012, -1255603278,
                -2113267270, 1068227384, -455675351, 87902379, -1603814786,
                1689145848, 1846101421, 343481024, -2098324295, 49859032,
                1682177875, -2077949911, -1839581908, 1189893589, -1984001166,
                -1631491113, -612335608, -1962116230, -1539094900, 1014241877,
                1694773240, -169865309, 1715617456, 912228614, -1193034485,
                -558916807, 2074550156, -2126925466, -890648584, -2075768854,
                55211, 453855493, -1303768889, 1107941702, -1494919575,
                583597644, -1957634226, 291039605, -561193747, 1240346906,
                -1305563977, -12630280, 1062011705, 1270480545, -406849233,
                -1378647294, -2064321517, -279340302, -571444632, -855466900,
                1784532226, -510195243, -89717461, -1186422486, 1755682868,
                -2017783986, 491077225, 317435922, 1069367767, 656669954,
                -1463527212, -1420470116, -1445513296, 1600000720, -863020346,
                1665989690, 461053404, 1230417559, -347022785, -1669659849,
                -732682087, -1461553960, -1020733966, -1309412196, -1245360689,
                -1434737308, 1369334406, -1650241263, -75297296, -377349620,
                -1568700002, -340127444, -1405953837, -1389653270, 209013011,
                -1384447203, 590426648, 1616303033, 942351392, -1346474151,
                -230268128, 1613965872, 770997413, -517456663, 973692742,
                1621337207, 1913021473, 1124439111, 243562576, -1614800033,
                -1290093998, 1091771275, 1341867870, -1426342179, -2087307984,
                1212751037, 1986712540, 1793176467, 1542431082, 790412854,
                -1917584909, 1164055628, -595190961, 270453687, -984078755,
                1464393940, -563222597, 1457251368, -1378170777, 1664667983,
                -1266911965, 1812046719, 1319193102, 740691057, -1751872626,
                454272970, 1332821702, 2075961119, 1414785716, -2132714754,
                -913841281, 1902508544, 823083352, 941523546, 1283602009,
                -2141965248, -2070934442, 379486790, 1705269661, -62634462,
                -27803854, 416741161, -1821823982, -1273273787, 946146332,
                449273299, 2079445698, -166664762, -454877931, 1008869889,
                -1093703509, 1953030561, 1146297249, 1324217890, -1342197327,
                1668577936, 1295953240, 1149373949, -331729069, -370163333,
                947223637, 26066620, -1074114024, 120319596, 1403805026,
                1616591900, 1877405484, -17242848, -73986487, 100804759,
                1295438440, -102407838, -752710780, 795178766, -1693228665,
                -399211773, 1201078494, 478150213, 54708311, -917307204,
                634358741, -508144994, -1499756434, -1278083929, 1563891296,
                -1380610338, 1859555152, -772812210, 1895197965, -1920445047,
                801339834, 2049387523, 1833168260, -2120189996, 224761837,
                367595350, 1255889241, 1440474433, -1291027958, 1808471636,
                636386028, 610916976, -293384390, -333095740, -36785035,
                -339509176, 1962388052, -2034225414, -375039089, -1463622271,
                -1448285891, 806653927, -908461171, -507713301, 1570430827,
                1583658052, -1860001696, -392636431, -1599713904, -642972267,
                -1471991534, -780470789, 862407825, -160564215, 431655790,
                190103442, 1959075188, 294720188, -1436882519, -797235448,
                -1931407285, -358354972, -1899257119, 1647677475, -1203683063,
                670031539, 807665855, 1586489606, 2097594752, -405881705,
                1293699427, 1600730840, -482544757, 1177214678, -2120450105,
                370490735, 1156566973, 1471633223, -2013735337, -1427610745,
                -1061487111, 78251839, 650930938, -775944027, -1462669114,
                2071872120, -1961039699, -1184633597, 677181146, -2146695070,
                -1374752612, 971991100, -1447143875, -1881514208, 616430897,
                -1469078528, 1024944525, 1367708668, -713338878, -927426453,
                -690084381, -1842703303, 1353299617, 40144853, -443714296,
                884827660, -364632482, 360166299, -2033105453, -740950070,
                1922573978, -470200442, -26958448, 149799728, -1122326688,
                -728195676, -1204365874, -232344689, -1438075272, -197441936,
                -1460386745, 1234886891, -105272848, -182155878, 1277563287,
                650990142, -1070801441, -695979593, 195588519, 1609784104,
                -1523695311, 968618519, 2089879937, 1396238567, -368699619,
                -1771216401, -1938640014, 154023978, -885579782, -1866752962,
                -1240488397, 448992090, 1018875699, 1037717349, -2000803673,
                -468865231, 796620165, -2024416005, 187686171, -434406513,
                1335058817, -1401293807, -898011816, 142394261, 1842531790,
                -2107551765, -652951702, -1823355208, -950207250, -148870193,
                -211923767, 1307194306, -1654743482, 627195109, -1999379588,
                810133079, 1602562507, 120564879, 1585473228, -1831019659,
                -202196371, 1146461229, -172228958, -1935873014, -750952340,
                1032570211, -866339553, 1654325063, -431517580, -548715817,
                422757236, 301624124, -1994917883, -178124521, -1474647877,
                1661838846, -2099583487, 360497980, 843848120, -1486334794,
                1290341080, 1071288734, -713554896, -408876060, 2089401029,
                757021179, -251878220, -281884348, 581419982, -1586812832,
                -1077450665, 1382117099, -1424143269, -1321068337, -543630581,
                957294443, -1835273059, 1963155222, -1120400937, -1631069321,
                212554361, 101822772, -1846802587, -1416910909, -1101946315,
                -2007473134, -211581129, 91369193, -1107631786, -1043407276,
                693035544, -440498734, -1700973671, -1541680443, 689955716,
                -1632341273, -1105398010, -1460171278, 92491781, -1589307443,
                572044900, 875380771};

        ArrayList<Integer> indexs = new ArrayList<>();
        final int[] index = {-1};
        Arrays.stream(test).forEach(new IntConsumer() {
            @Override
            public void accept(int i) {
                System.out.println(i);
                index[0]++;
                if (i == target) {
                    indexs.add(index[0]);
                }
            }
        });

        /*Arrays.sort(test1);
        int size = test1.length;
        int index = Arrays.binarySearch(test, target);
        System.out.println("下标起始  = " + index);
        if (index >= 0 && index < size) {
            for (int i = index - 1; test1[++i] == test1[index]; indexs.add(i)) ;
        }
        System.out.println("下标集合  = " + Arrays.toString(indexs.toArray()));*/

        if (indexs.size() > 0) {
            return indexs.get((int) (Math.random() * indexs.size()));
        } else {
            return -1;
        }
    }

}
